home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / lib / tex / inputs / uct10.sty < prev    next >
Text File  |  1991-05-20  |  17KB  |  412 lines

  1. % UCTHESIS DOCUMENT STYLE -- Released 20 June 1988.
  2. %    for LaTeX version 2.09
  3. % Copyright (C) 1987 by Leslie Lamport and Rusty C. Wright.
  4.  
  5. % PREPARING A FOREIGN LANGUAGE VERSION:
  6. %
  7. % This document style is for documents prepared in the English language.
  8. % To prepare a version for another language, various English words must
  9. % be replaced.  All the English words that required replacement are
  10. % indicated below, where we give the name of the command in which the
  11. % words appear, and the entire line containing the word(s), with the
  12. % actual words underlined.
  13. % \appendix:
  14. %   \def\@chapapp{Appendix}
  15. %                 ~~~~~~~~
  16.  
  17. %  ****************************************
  18. %  *               FONTS                  *
  19. %  ****************************************
  20. %
  21.  
  22. \lineskip 1pt            % \lineskip is 1pt for all font sizes.
  23. \normallineskip 1pt
  24. \def\baselinestretch{1.37}    % ``double-spacing''
  25.  
  26. % Each size-changing command \SIZE executes the command
  27. %        \@setsize\SIZE{BASELINESKIP}\FONTSIZE\@FONTSIZE
  28. % where:
  29. %   BASELINESKIP = Normal value of \baselineskip for that size.  (Actual 
  30. %                  value will be \baselinestretch * BASELINESKIP.)
  31. %
  32. %  \FONTSIZE     = Name of font-size command.  The currently available
  33. %                  (preloaded) font sizes are: \vpt (5pt), \vipt (6pt),
  34. %                  \viipt (etc.), \viiipt, \ixpt, \xpt, \xipt, \xiipt,
  35. %                  \xivpt, \xviipt, \xxpt, \xxvpt.
  36. %  \@FONTSIZE    = The same as the font-size command except with an
  37. %                  '@' in front---e.g., if \FONTSIZE = \xivpt then
  38. %                  \@FONTSIZE = \@xivpt.
  39. %
  40. % For reasons of efficiency that needn't concern the designer,
  41. % the document style defines \@normalsize instead of \normalsize .  This is
  42. % done only for \normalsize, not for any other size-changing commands.
  43.  
  44. \def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt
  45. \abovedisplayskip 10pt plus2pt minus5pt%
  46. \belowdisplayskip \abovedisplayskip
  47. \abovedisplayshortskip  \z@ plus3pt%   
  48. \belowdisplayshortskip  6pt plus3pt minus3pt%
  49. \let\@listi\@listI}   % Setting of \@listi added 9 Jun 87
  50.  
  51. \def\small{\@setsize\small{11pt}\ixpt\@ixpt
  52. \abovedisplayskip 8.5pt plus 3pt minus 4pt%
  53. \belowdisplayskip \abovedisplayskip
  54. \abovedisplayshortskip \z@ plus2pt%
  55. \belowdisplayshortskip 4pt plus2pt minus 2pt
  56. \def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87
  57. \topsep 4pt plus 2pt minus 2pt\parsep 2pt plus 1pt minus 1pt
  58. \itemsep \parsep}}
  59.  
  60. \def\footnotesize{\@setsize\footnotesize{9.5pt}\viiipt\@viiipt
  61. \abovedisplayskip 6pt plus 2pt minus 4pt%
  62. \belowdisplayskip \abovedisplayskip
  63. \abovedisplayshortskip \z@ plus 1pt%
  64. \belowdisplayshortskip 3pt plus 1pt minus 2pt
  65. \def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87
  66. \topsep 3pt plus 1pt minus 1pt\parsep 2pt plus 1pt minus 1pt
  67. \itemsep \parsep}}
  68.  
  69. \def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt}
  70. \def\tiny{\@setsize\tiny{6pt}\vpt\@vpt}
  71. \def\large{\@setsize\large{14pt}\xiipt\@xiipt}
  72. \def\Large{\@setsize\Large{18pt}\xivpt\@xivpt}
  73. \def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt}
  74. \def\huge{\@setsize\huge{25pt}\xxpt\@xxpt}
  75. \def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt}
  76.  
  77. \normalsize  % Choose the normalsize font.
  78.  
  79.  
  80. %  ****************************************
  81. %  *            PAGE LAYOUT               *
  82. %  ****************************************
  83. %
  84. % All margin dimensions measured from a point one inch from top and side
  85. % of page.  
  86.  
  87. % SIDE MARGINS:
  88. \if@twoside                 % Values for two-sided printing:
  89.    \oddsidemargin 0.5in     %   Left margin on odd-numbered pages.
  90.    \evensidemargin 0.5in    %   Left margin on even-numbered pages.
  91.    \marginparwidth 0pt      %   Width of marginal notes.
  92. \else                       % Values for one-sided printing:
  93.    \oddsidemargin 0.5in     %   Note that \oddsidemargin = \evensidemargin
  94.    \evensidemargin 0.5in
  95.    \marginparwidth 0pt 
  96. \fi
  97. \marginparsep 11pt          % Horizontal space between outer margin and 
  98.                             % marginal note
  99.  
  100.  
  101. % VERTICAL SPACING:        
  102.                          % Top of page:
  103. \topmargin 0.0in         %    Nominal distance from top of page to top of
  104.                          %    box containing running head.
  105. \headheight 12pt         %    Height of box containing running head.
  106. \headsep 25pt            %    Space between running head and text.
  107. % \topskip = 10pt        %    '\baselineskip' for first line of page.
  108.                          % Bottom of page:
  109. \footskip 30pt           %    Distance from baseline of box containing foot 
  110.                          %    to baseline of last line of text.
  111.  
  112.  
  113. % DIMENSION OF TEXT:
  114. % 24 Jun 86: changed to explicitly compute \textheight to avoid roundoff.
  115. % The value of the multiplier was calculated as the floor of the
  116. % old \textheight minus \topskip, divided by \baselineskip for \normalsize.
  117. % The old value of \textheight was 528pt.
  118. % \textheight is the height of text (including footnotes and figures, 
  119. % excluding running head and foot).
  120.  
  121. \textheight = 37\baselineskip
  122. \advance\textheight by \topskip
  123. \textwidth 6.0truein         % Width of text line.
  124.                          % For two-column mode: 
  125. \columnsep 10pt          %    Space between columns 
  126. \columnseprule 0pt       %    Width of rule between columns.
  127.  
  128. % A \raggedbottom command causes 'ragged bottom' pages: pages set to
  129. % natural height instead of being stretched to exactly \textheight.
  130.  
  131. % FOOTNOTES:
  132.  
  133. \footnotesep 6.65pt   % Height of strut placed at the beginning of every
  134.                       % footnote = height of normal \footnotesize strut,
  135.                       % so no extra space between footnotes.
  136.  
  137. \skip\footins 9pt plus 4pt minus 2pt  % Space between last line of text and 
  138.                                       % top of first footnote.
  139.  
  140. % FLOATS: (a float is something like a figure or table)
  141. %
  142. %  FOR FLOATS ON A TEXT PAGE:
  143. %
  144. %    ONE-COLUMN MODE OR SINGLE-COLUMN FLOATS IN TWO-COLUMN MODE:
  145. \floatsep 12pt plus 2pt minus 2pt        % Space between adjacent floats moved
  146.                                          % to top or bottom of text page.
  147. \textfloatsep 20pt plus 2pt minus 4pt    % Space between main text and floats
  148.                                          % at top or bottom of page.
  149. \intextsep 12pt plus 2pt minus 2pt       % Space between in-text figures and 
  150.                                          % text.
  151. \@maxsep 20pt                            % The maximum of \floatsep, 
  152.                                          % \textfloatsep and \intextsep (minus
  153.                                          % the stretch and shrink).
  154. %    TWO-COLUMN FLOATS IN TWO-COLUMN MODE:
  155. \dblfloatsep 12pt plus 2pt minus 2pt     % Same as \floatsep for double-column
  156.                                          % figures in two-column mode.
  157. \dbltextfloatsep 20pt plus 2pt minus 4pt % \textfloatsep for double-column 
  158.                                          % floats.
  159. \@dblmaxsep 20pt                         % The maximum of \dblfloatsep and 
  160.                                          % \dbltexfloatsep.
  161.  
  162. %  FOR FLOATS ON A SEPARATE FLOAT PAGE OR COLUMN:
  163. %    ONE-COLUMN MODE OR SINGLE-COLUMN FLOATS IN TWO-COLUMN MODE:
  164. \@fptop 0pt plus 1fil    % Stretch at top of float page/column. (Must be    
  165.                          % 0pt plus ...)                                    
  166. \@fpsep 8pt plus 2fil    % Space between floats on float page/column.       
  167. \@fpbot 0pt plus 1fil    % Stretch at bottom of float page/column. (Must be 
  168.                          % 0pt plus ... )                                   
  169.  
  170. %   DOUBLE-COLUMN FLOATS IN TWO-COLUMN MODE.
  171. \@dblfptop 0pt plus 1fil % Stretch at top of float page. (Must be 0pt plus ...)
  172. \@dblfpsep 8pt plus 2fil % Space between floats on float page.
  173. \@dblfpbot 0pt plus 1fil % Stretch at bottom of float page. (Must be 
  174.                          % 0pt plus ... )                                   
  175. % MARGINAL NOTES:
  176. %
  177. \marginparpush 5pt       % Minimum vertical separation between two marginal 
  178.                          % notes.
  179.  
  180.  
  181. %  ****************************************
  182. %  *           PARAGRAPHING               *
  183. %  ****************************************
  184. %
  185. \parskip 0pt plus 1pt              % Extra vertical space between paragraphs.
  186. \parindent 4em                     % Width of paragraph indentation.
  187. %\topsep 8pt plus 2pt minus 4pt    % Extra vertical space, in addition to 
  188.                                    % \parskip, added above and below list and
  189.                                    % paragraphing environments.
  190. \partopsep 2pt plus 1pt minus 1pt  % Extra vertical space, in addition to 
  191.                                    % \parskip and \topsep, added when user
  192.                                    % leaves blank line before environment.
  193. %\itemsep 4pt plus 2pt minus 1pt   % Extra vertical space, in addition to
  194.                                    % \parskip, added between list items.
  195. % See \@listI for values of \topsep and \itemsep
  196. % (Change made 9 Jun 87)
  197.  
  198. % The following page-breaking penalties are defined
  199.  
  200. \@lowpenalty   51      % Produced by \nopagebreak[1] or \nolinebreak[1]
  201. \@medpenalty  151      % Produced by \nopagebreak[2] or \nolinebreak[2]
  202. \@highpenalty 301      % Produced by \nopagebreak[3] or \nolinebreak[3]
  203.  
  204. \@beginparpenalty -\@lowpenalty    % Before a list or paragraph environment.
  205. \@endparpenalty   -\@lowpenalty    % After a list or paragraph environment.
  206. \@itempenalty     -\@lowpenalty    % Between list items.
  207.  
  208. % \clubpenalty         % 'Club line'  at bottom of page.
  209. % \widowpenalty        % 'Widow line' at top of page.
  210. % \displaywidowpenalty % Math display widow line.
  211. % \predisplaypenalty   % Breaking before a math display.
  212. % \postdisplaypenalty  % Breaking after a math display.
  213. % \interlinepenalty    % Breaking at a line within a paragraph.
  214. % \brokenpenalty       % Breaking after a hyphenated line.
  215.  
  216.  
  217. %    ****************************************
  218. %    *        CHAPTERS AND SECTIONS         *
  219. %    ****************************************
  220. %
  221. %
  222.  
  223. % Definition of \part moved to report.doc  on 19 Jan 88
  224.  
  225. % \@makechapterhead {TEXT} : Makes the heading for the \chapter command.
  226. %
  227.  
  228. \def\@makechapterhead#1{             % Heading for \chapter command
  229.   \vspace*{50pt}                     % Space at top of text page.
  230.   { \parindent 0pt \raggedright 
  231.     \ifnum \c@secnumdepth >\m@ne     % IF secnumdepth > -1 THEN
  232.       \huge\bf \@chapapp{} \thechapter % Print 'Chapter' and number.
  233.     \par 
  234.     \vskip 20pt \fi                    % Space between number and title.
  235.     \Huge \bf                        % Title.
  236.     #1\par 
  237.     \nobreak                         % TeX penalty to prevent page break.
  238.     \vskip 40pt                      % Space between title and text.
  239.   } }
  240.  
  241. % \@makeschapterhead {TEXT} : Makes the heading for the \chapter* command.
  242. %
  243.  
  244. \def\@makeschapterhead#1{             % Heading for \chapter* command
  245.   \vspace*{50pt}                     % Space at top of page.
  246.   { \parindent 0pt \raggedright 
  247.     \Huge \bf                        % Title.
  248.     #1\par 
  249.     \nobreak                         % TeX penalty to prevent page break.
  250.     \vskip 40pt                      % Space between title and text.
  251.   } }
  252.  
  253. % \secdef{UNSTARCMDS}{STARCMDS} :
  254. %    When defining a \chapter or \section command without using
  255. %    \@startsection, you can use \secdef as follows:
  256. %       \def\chapter { ... \secdef \CMDA \CMDB }
  257. %       \def\CMDA    [#1]#2{ ... }  % Command to define \chapter[...]{...}
  258. %       \def\CMDB    #1{ ... }      % Command to define \chapter*{...}
  259.  
  260. \def\chapter{\clearpage      % Starts new page.
  261.    \thispagestyle{plain}     % Page style of chapter page is 'plain'
  262.    \global\@topnum\z@        % Prevents figures from going at top of page.
  263.    \@afterindenttrue         % Indent in first paragraph.  Change
  264.    \secdef\@chapter\@schapter}   % to \@afterindentfalse for no indent.
  265.  
  266. \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
  267.         \refstepcounter{chapter}
  268.         \typeout{\@chapapp\space\thechapter.}
  269.         \addcontentsline{toc}{chapter}{\protect
  270.         \numberline{\thechapter}#1}\else
  271.       \addcontentsline{toc}{chapter}{#1}\fi
  272.    \chaptermark{#1}
  273.    \addtocontents{lof}{\protect\addvspace{10pt}} % Adds between-chapter space
  274.    \addtocontents{lot}{\protect\addvspace{10pt}} % to lists of figs & tables.
  275.    \if@twocolumn                                 % Tests for two-column mode.  
  276.            \@topnewpage[\@makechapterhead{#2}]  
  277.      \else \@makechapterhead{#2}
  278.            \@afterheading                  % Routine called after chapter and
  279.      \fi}                                  % section heading.
  280.  
  281. \def\@schapter#1{\if@twocolumn \@topnewpage[\@makeschapterhead{#1}]
  282.         \else \@makeschapterhead{#1} 
  283.               \@afterheading\fi}
  284.  
  285. % \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE} 
  286. %            optional * [ALTHEADING]{HEADING}
  287. %    Generic command to start a section.  
  288. %    NAME       : e.g., 'subsection'
  289. %    LEVEL      : a number, denoting depth of section -- e.g., chapter=1,
  290. %                 section = 2, etc.  A section number will be printed if
  291. %                 and only if LEVEL < or = the value of the secnumdepth
  292. %                 counter.
  293. %    INDENT     : Indentation of heading from left margin
  294. %    BEFORESKIP : Absolute value = skip to leave above the heading.  
  295. %                 If negative, then paragraph indent of text following 
  296. %                 heading is suppressed.
  297. %    AFTERSKIP  : if positive, then skip to leave below heading,
  298. %                       else - skip to leave to right of run-in heading.
  299. %    STYLE      : commands to set style
  300. %  If '*' missing, then increments the counter.  If it is present, then
  301. %  there should be no [ALTHEADING] argument.  A sectioning command
  302. %  is normally defined to \@startsection + its first six arguments.
  303.  
  304. \def\section{\@startsection {section}{1}{\z@}{-3.5ex plus -1ex minus 
  305.     -.2ex}{2.3ex plus .2ex}{\Large\bf}}
  306. \def\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex plus -1ex minus 
  307.    -.2ex}{1.5ex plus .2ex}{\large\bf}}
  308. \def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-3.25ex plus
  309. -1ex minus -.2ex}{1.5ex plus .2ex}{\normalsize\bf}}
  310. \def\paragraph{\@startsection
  311.      {paragraph}{4}{\z@}{3.25ex plus 1ex minus .2ex}{-1em}{\normalsize\bf}}
  312. \def\subparagraph{\@startsection
  313.      {subparagraph}{4}{\parindent}{3.25ex plus 1ex minus 
  314.      .2ex}{-1em}{\normalsize\bf}}
  315.  
  316.  
  317. % Default initializations of \...mark commands.  (See below for their
  318. % us in defining page styles.
  319. %
  320.  
  321. \def\chaptermark#1{}
  322. % \def\sectionmark#1{}           % Preloaded definitions
  323. % \def\subsectionmark#1{}
  324. % \def\subsubsectionmark#1{}
  325. % \def\paragraphmark#1{}
  326. % \def\subparagraphmark#1{}
  327.  
  328. % The value of the counter secnumdepth gives the depth of the
  329. % highest-level sectioning command that is to produce section numbers.
  330. %
  331.  
  332. \setcounter{secnumdepth}{2}
  333.  
  334. % APPENDIX
  335. %
  336. % The \appendix command must do the following:
  337. %    -- reset the chapter counter to zero
  338. %    -- set \@chapapp to Appendix (for messages)
  339. %    -- redefine the chapter counter to produce appendix numbers
  340. %    -- reset the section counter to zero
  341. %    -- redefine the \chapter command if appendix titles and headings are
  342. %       to look different from chapter titles and headings.
  343.  
  344. \def\appendix{\par
  345.   \setcounter{chapter}{0}
  346.   \setcounter{section}{0}
  347.   \def\@chapapp{Appendix}
  348.   \def\thechapter{\Alph{chapter}}}
  349.  
  350.  
  351. %    ****************************************
  352. %    *                LISTS                 *
  353. %    ****************************************
  354. %
  355.  
  356. % The following commands are used to set the default values for the list
  357. % environment's parameters. See the LaTeX manual for an explanation of
  358. % the meanings of the parameters.  Defaults for the list environment are
  359. % set as follows.  First, \rightmargin, \listparindent and \itemindent
  360. % are set to 0pt.  Then, for a Kth level list, the command \@listK is
  361. % called, where 'K' denotes 'i', 'ii', ... , 'vi'.  (I.e., \@listiii is
  362. % called for a third-level list.)  By convention, \@listK should set
  363. % \leftmargin to \leftmarginK.
  364. %
  365. % For efficiency, level-one list's values are defined at top level, and
  366. % \@listi is defined to set only \leftmargin.
  367.  
  368. \leftmargini 25pt
  369. \leftmarginii 22pt     % > \labelsep + width of '(m)'
  370. \leftmarginiii 18.7pt  % > \labelsep + width of 'vii.'
  371. \leftmarginiv 17pt     % > \labelsep + width of 'M.'
  372. \leftmarginv 10pt
  373. \leftmarginvi 10pt
  374.  
  375. \leftmargin\leftmargini
  376. \labelsep 5pt
  377. \labelwidth\leftmargini\advance\labelwidth-\labelsep
  378. %\parsep 4pt plus 2pt minus 1pt (Removed 9 Jun 87)
  379.  
  380. % \@listI defines top level and \@listi values of
  381. % \leftmargin, \topsep, \parsep, and \itemsep
  382. % (Added 9 Jun 87)
  383. \def\@listI{\leftmargin\leftmargini \parsep 4pt plus 2pt minus 1pt%
  384. \topsep 8pt plus 2pt minus 4pt%
  385. \itemsep 4pt plus 2pt minus 1pt}
  386.  
  387. \let\@listi\@listI
  388. \@listi 
  389.  
  390. \def\@listii{\leftmargin\leftmarginii
  391.    \labelwidth\leftmarginii\advance\labelwidth-\labelsep
  392.    \topsep 4pt plus 2pt minus 1pt
  393.    \parsep 2pt plus 1pt minus 1pt
  394.    \itemsep \parsep}
  395.  
  396. \def\@listiii{\leftmargin\leftmarginiii
  397.     \labelwidth\leftmarginiii\advance\labelwidth-\labelsep
  398.     \topsep 2pt plus 1pt minus 1pt 
  399.     \parsep \z@ \partopsep 1pt plus 0pt minus 1pt
  400.     \itemsep \topsep}
  401.  
  402. \def\@listiv{\leftmargin\leftmarginiv
  403.      \labelwidth\leftmarginiv\advance\labelwidth-\labelsep}
  404.  
  405. \def\@listv{\leftmargin\leftmarginv
  406.      \labelwidth\leftmarginv\advance\labelwidth-\labelsep}
  407.  
  408. \def\@listvi{\leftmargin\leftmarginvi
  409.      \labelwidth\leftmarginvi\advance\labelwidth-\labelsep}
  410.  
  411.